An optimal transmission of several data streams, Multiple Input Multiple Output (MIMO), is based on using antenna elements for which a pre-coding by a set of weights is used per stream. The pre-coding can be regarded as if each stream is subject to a beamformer, and where all streams are transmitted simultaneously. The beamforming coefficients depend on the radio communication channel, because the optimal weights are the eigenvectors calculated by e.g. Singular Value Decomposition (SVD) of the channel matrix. A physical interpretation of the obtained weights is an antenna pattern. This antenna pattern describes how energy is radiated in directions which match the clusters that best transfer the energy to a receiver.
In 3rd Generation Partnership Project (3GPP), the concept of pre-coding is used, as disclosed in 3GPP TS 36.211 (reference [1]). In version 1.1.1 of reference [1], the standard covers a primitive version of pre-coding that contains a very limited number of distinct settings. These settings are described both using a one and a two antenna port scenario. The description in reference [1] is, from an antenna domain scenario, a method for creating beamforming coefficients for enumerated sets.
The radio communication channel is often modelled as consisting of clusters. These clusters are modelled as a collection of scatterers, and the scattering is what mediates the radio wave. The channel depends on the impact of clusters, for example, the number of objects and their positions. In the context of the present invention it is important to recognize that the impact of the clusters is a function of carrier frequency. This means that the radio wave excites different physical objects depending of frequency. The channel perceived at, for example, a mobile station will exhibit a frequency dependence which is related to the clusters excited by the base station and vice versa. In the antenna domain, the frequency dependence has to be incorporated in a discussion on optimality.
In addition to the antenna domain, a radio communication link often features an equalizer at the receiver side. The purpose of such a device is to mitigate the effect of Inter Symbol Interference (ISI) due to the channel delay spread, e.g. the joint delay effect of propagation in the channel. Typically, the equalizer does not discriminate on clusters having the same delay but different spatial location. This implies that the equalizer can be viewed as operating in the temporal domain.
An observation which is of interest is that the pre-coding is described by the standard in reference [1] with a code book approach. The pre-coding is chosen as one out of a limited set of settings, such that the pre-coding coefficients are coarsely quantized in the spatial domain. Here, the weights can be regarded as means to separate the data streams at the receiver. In this context, the communication channel acts as a separation structure in a source separation problem (e.g. see reference [2]).
In US 2005/0101259 (reference [3]), by Tong et al., a method for transmission signal processing is disclosed. Pre-coding signal weights are determined based on CSI (channel state information) associated with several communication channels. Various techniques for determining CSI are disclosed including scattered pilot tones in OFDM systems. A matrix is used for pre-coding and an inverse matrix is used when decoding the received signals in the receiver. The described system handles a case with no delays and a frequency flat channel, wherein no variations in frequency is allowed.
A drawback with the prior art is that pre-coding for a frequency selective channel, i.e. a channel which is not flat, may not be accomplished. A prior art concept to handle a frequency selective channel is based on a set of elements being complex matrices. These elements are weights to be used as pre-coding of an Orthogonal Frequency Division Multiple (OFDM) symbol. An OFDM symbol may be considered to be a collection of sub-carriers, e.g. the frequency bins of a Discrete Fourier Transform (DFT), see reference [4]. The idea is that the matrix operates on a sub-carrier and its closest neighbours, with the rational that the channel is flat in this small interval. Obviously, the number of matrices needed must be sufficiently many in order to describe the whole channel.
In a Frequency Division Duplex (FDD) system, the channel is not reciprocal, therefore a feedback is needed. That is, if A is transmitting to B then B must inform A of the seen channel at B's position, and vice versa. Using a large number of matrices causes the feedback to become significant. Hence, the bandwidth efficiency decreases.
The number of matrices used to pre-code data may become quite large in order to model a frequency selective channel. This makes the system feedback large which is undesired. Moreover, the number of possible weights are few, when a code book based pre-coding is used, and this results in a poor match for an arbitrary channel.